摘要:一基礎數(shù)據(jù)類型原始類型復合類型由其他原始類型組合起來的類型運算符和表達式算術運算符加減乘除取模冪地板除的除位運算符二進制之間的運算轉(zhuǎn)換成二進制數(shù)將二進制轉(zhuǎn)換成十進制按位與都為才為按位或存在即為按位異或相同的為不同的為按位取反正數(shù)的補碼,反
一.python基礎:
數(shù)據(jù)類型:
原始類型: int float byte 復合類型: 由其他原始類型組合起來的類型 list dict cuple
運算符和表達式:
算術運算符: 加 / 減 / 乘 / 除 / 取模 / 冪 / 地板除 + - * / % ** // python2 的 除: 10 / float(20) 位運算符[二進制之間的運算]: bin(60) 轉(zhuǎn)換成二進制數(shù) int("1100",2) 將二進制轉(zhuǎn)換成十進制 & 按位與 都為1 才為1 | 按位或 存在1 即為1 ^ 按位異或 相同的為0,不同的為1 ~ 按位取反 正數(shù)的補碼,反碼都是其本身 負數(shù)的補碼是:符號位不變,其余各位求反,末位加1 ,既11111 反碼是:符號位為1,其余各位求反,但末位不加1 ,既11110 假設有一個數(shù)~9,計算步驟如下,9=1001 其補碼為01001, 對其取反10110,這個數(shù)是在內(nèi)存中存放的,現(xiàn)在需要裝換成原碼,既先減1,然后取反得 11010,符號位為1是負數(shù),既-10 << 左移 >> 右移
按位取反:
--- 正數(shù)的補碼和反碼都是其本身,但是前面要加上正數(shù)的符號位 "0" --- 負數(shù)的符號位是"1" 負數(shù)的補碼是:符號位不變,其余各位求反,末位加1 負數(shù)的反碼是:符號位不變,其余各位求反 --- 二進制數(shù)在內(nèi)存中是以補碼的形式存放的 ---
60的按位取反計算: 第一步: 計算60的 [補碼] 和 [反碼]: 原碼 補碼 反碼 十進制 60 二進制 111100 0111100 0111100 第二步: 取反[取反操作是對補碼進行取反]: 補碼 1000011 反碼 補碼 - 1 1000010 原碼 1111101 1 代表是負數(shù) 111101 轉(zhuǎn)換成十進制為61 -61
比較運算符[返回布爾類型]:
== 等于 != 不等于 > 大于 < 小于
邏輯運算符:
and 與 同時True才為True or 或 只要存在True 則為True not 非 取反 邏輯運算的短路功能: 前面False后面就不會再計算: 1+2 >4 and (2+2) == 4 前面是True就不會再計算后面: 1+2 <4 or (2+2) == 3
---
def add(x, y): print("%d + %d" %(x, y)) return x+y add(1, 2) > 4 and add(2, 3) == 5 ...: 1 + 2 Out[2]: False
---
def add(x, y): print("%d + %d" % (x, y)) return x+y add(1, 2) < 4 and add(2,3) < 6 ...: 1 + 2 2 + 3 True
---
def add(x, y): print("%d + %d" % (x, y)) return x+y add(1, 2) < 4 and add(2,3) < 4 ...: 1 + 2 2 + 3 False
其他運算符:
= 賦值運算符 in 成員運算符 not in 成員運算符 is 身份運算符, 比較兩個元素的id; 列表不能用is 做比較 is not 身份運算符 is 使用的環(huán)境經(jīng)常拿來判斷是不是None;
表達式與優(yōu)先級:
1. 一元高于二元 2. 數(shù)值高于邏輯 3. 算術運算高于位運算 4. 乘除高于加減 5. 拿不準時加括號
程序結(jié)構:
1. 順序結(jié)構 2. 分支結(jié)構 3. 循環(huán)結(jié)構 關于 SWITCH Python中并沒有switch結(jié)構,因為"switch"結(jié)構完全可以由"if elif else"語句來實現(xiàn) switch實現(xiàn)方法: 粗糙版: #coding:utf8 #add minus divide using python from __future__ import division x=1 y=2 operator="/" result={ "+":x+y, "-":x-y, "*":x*y, "/":x/y } print(result.get(operator)) 改進版: #!/usr/bin/env python # -*- encoding:utf-8 -*- class calculate: def __init__(self, x, op, y): self.x = x self.op = op self.y = y def count(self): result={ "+":self.x+self.y, "-":self.x-self.y, "*":self.x*self.y, "/":self.x/self.y} print(result.get(self.op)) mark = calculate(10,"+",2) mark.count()
python的三元運算
a = 4 b = a if a > 0 else 0
RANGE函數(shù)
range(x) [0,x) range(m, n) [m, n) range(m, n, s) [m,n),步長為s
break 子句
* 只能出現(xiàn)在循環(huán)結(jié)構中 * 用于跳出當前循環(huán)結(jié)構
continue子句:
* 只能出現(xiàn)在循環(huán)結(jié)構中 * 用于跳過此次迭代的剩余操作
else子句:
循環(huán)結(jié)構的else子句是python特有的,用于表示一個循環(huán)不是經(jīng)過"break"跳出循環(huán),提前結(jié)束循環(huán),而是正常退出的,才會執(zhí)行else中的語句;二.內(nèi)置容器:
列表
* list是最常用的線性數(shù)據(jù)結(jié)構 * list是一系列元素的有序組合 * list是可變的 列表的操作: 定義列表: li = [] li = list() li = [1, 2, 3] 查看幫助文檔: help(list) 增:append, extend, insert 刪:clear, pop, remove 改:reverse, sort 查:count, index 其他:copy 增: li = [] append:只能一個一個增加 li.append(3) extend:擴展 li.extend([5,6,7]) li [3, 5, 6, 7] insert:位置之前插入 li.insert(0, 0) 在第一個之前插入0 刪: clear:清空列表 li.clear() remove:從左開始刪除指定元素一個,如果刪除的元素不存在會報錯ValueError li.remove(3) 刪除元素3 pop:刪除指定位置元素:如果不存在會報錯IndexError li.pop() 刪除最后一個元素 li.pop(3) 刪除key是3的元素 改: reverse:顛倒列表順序: sort:從小到大排序: 僅用于簡單數(shù)字排序 sort(reverse=True) 從大到小排序: 查: count:顯示匹配元素個數(shù) li.count(3) 其他: index(3):返回指定元素在列表中的位置;如果不存在會報ValueError: index(value, [start, [stop]]) copy: 深拷貝,會生成一個新的list 賦值是淺拷貝,淺拷貝的數(shù)據(jù)修改會對原來的list產(chǎn)生影響; 下標操作: li[1] li[1] = 10 切片: li[3:5]: 前面是閉區(qū)間 后面是開區(qū)間 li[3:] li[:] 效果和copy是一樣的,效率會比copy快; li[:4] li[4:-2] 切到倒數(shù)第二個;后面是開區(qū)間 li[-4:-1] li[2:6:2]: start, stop ,步長 li[6:2:-1] start,stop ,反向顯示,步長為1 li[6:2:-2] start,stop,反向顯示,步長為2 li[::-1] li[::2]
元組[tuple]:
tuple和list大多數(shù)地方類似 tuple是不可變結(jié)構 tuple只能獲取值 定義一個元組: t = () t = tuple() count:統(tǒng)計元素個數(shù) index:返回指定元素在元組中的位置 下標操作[通過下標獲取value]: t[1] * PACKING & UNPACKING PACKING :把多個變量的值變成一個元組或者列表,默認是變成元組 UNPACKING :也可以把一個元組或者列表賦值給多個變量 --- x, *y = (1, 2, 3, 4) print(x) 1 print(y) [2, 3, 4] --- *x, y = (1, 2, 3, 4) print(x) [1, 2, 3] print(y) 4 --- *_ 這個表示賦值給一個不能用的變量: x, *_, y = (1, 2, 3, 4) print(x) 1 print(y) 4 --- x, (y, z) = (1, (2, 3)) print(x) 1 print(y) 2 print(z) 3 ---
集合:
集合的含義和數(shù)學上集合的含義相同 集合不是線性結(jié)構 * 集合元素是唯一的 集合元素是可hash的 集合的操作: 初始化: s = set() s = set([1, 2, 3]) 增: s.add(3) //添加一個元素 s.update([3, 4, 5, 6]) //集合添加list中的多個元素 刪: remove: 刪除,刪除不存在的元素會拋出異常; discard: 刪除,刪除不存在的元素不會拋出異常; clear: 清空 pop: 隨機刪除集合中的一個元素 集合運算: union 并集 a | b intersection 交集 a & b difference 差集,不可交換的 a - b symmetric_difference 集合之差的并集 a ^ b 集合判斷[返回布爾值]: issubset 子集 issuperset 超集 isdisjoint
字典:
* 字典是一種無序集合 * 字典是一種KV結(jié)構 * value可以是任何對象 * key是唯一的 * key必須是可hash對象 字典的操作: d = dict() d = {"a":5, "b":4} d["a"] d.keys() dict_keys(["b", "a"]) 遍歷 key: for key in d.keys(): print(d[key]) 遍歷 value: for value in d.values(): print(value) 遍歷key和value: for key,value in d.iterms(): print(key, value) print("%s => %s" %(key, value)) d.iterkeys() 返回的是一個生成器; pop,popitem 用于刪除元素 d.pop("key") 需要指定key,刪除不存在的值返回KeyError d.pop("key",6) 刪除不存在的值將返回 6 增加字典元素: d["c"] = 7
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37792.html
摘要:一字典定義字典獲取元素這兩個的區(qū)別用在不存在的時候不會拋出設置當不存在的時候返回的內(nèi)容增加和修改元素修改和增加元素的方法都是這個刪除元素刪除的同時返回刪除的內(nèi)容如果刪除不存在的會報這個時候就需要給定返回值這樣返回的就是不會報錯誤從字典中隨機 一.字典: 定義字典:d = {}d = dict()d = {a:1, b:2} 1.獲取元素: d[a] d.get(a) >這兩個的區(qū)別,用...
摘要:如何根據(jù)需要創(chuàng)建簡單模型大家好,今天這一期我想和大家分享有關于創(chuàng)建模型的部分,首先讓我們來看一個比較常見的場景你每天需要打開個進行相同的操作,各種眼花繚亂的函數(shù)后老眼昏花。。。。 Pandas 如何根據(jù)需要創(chuàng)建簡單模型 大家好,今天這一期我想和大家分享有關于pandas創(chuàng)建模型的部分,首先讓我們來看一個比較常見的場景: 你每天需要打開N個excel進行相同的操作,各種眼花繚亂的VBA函...
摘要:我們使用的損失函數(shù)為由于我們的數(shù)據(jù)集只有兩個特征,因此不用擔心過擬合,所以損失函數(shù)里的正規(guī)化項就不要了。到此,一個完整的簡單的邏輯回歸模型就實現(xiàn)完畢了,希望通過這篇文章,能讓各位看官對在中機器學習模型的實現(xiàn)有一個初步的了解。 TensorFlow 是一個基于 python 的機器學習框架。在 Coursera 上學習了邏輯回歸的課程內(nèi)容后,想把在 MATLAB 中實現(xiàn)了的內(nèi)容用 Ten...
摘要:單元測試這個應用非常小以至于不需要太多的測試,但是作為示例會在示例中展示兩個簡單的測試定義。示例單元測試編寫好的測試使用的是來自于標準庫中標準的包。為了運行單元測試,可以在腳本中增加一個自定義的命令。 4、啟動腳本 頂層目錄中的manage.py文件用于啟動應用。這個腳本會在示例7-8中展示。 示例7-8. manage.py:啟動腳本 #!/usr/bin/env python im...
閱讀 1703·2021-08-30 09:45
閱讀 1756·2019-08-30 15:54
閱讀 1178·2019-08-30 14:02
閱讀 1934·2019-08-29 16:21
閱讀 1617·2019-08-29 13:47
閱讀 3199·2019-08-29 12:27
閱讀 704·2019-08-29 11:01
閱讀 2668·2019-08-26 14:04